Skip to main content

Level 3

Link Syllabus: Xem chi tiết tại đây

SYLLABUS CHI TIẾT KHÓA HỌC FLUTTER LEVEL 3

TÍCH HỢP BACKEND + API + AI TRONG LẬP TRÌNH FLUTTER

Thời lượng: 27 buổi


MỤC TIÊU KHÓA HỌC

Sau khi hoàn thành khóa học, học viên sẽ:

  1. Thành thạo tích hợp Backend (REST API, GraphQL, WebSocket, Firebase) vào ứng dụng Flutter.
  2. Hiểu và triển khai Authentication (JWT, OAuth2), lưu trữ dữ liệu với Firestore, SQLite, Hive.
  3. Tích hợp AI vào Flutter (OCR, Face Recognition, Speech to Text, Chatbot AI, Object Detection).
  4. Xây dựng ứng dụng real-time với Firebase Cloud Firestore & WebSocket.
  5. Quản lý trạng thái chuyên sâu với Provider, Riverpod, BLoC.
  6. Hiểu cách xây dựng backend cơ bản với Node.js + Express.
  7. Biết cách test, tối ưu hiệu năng và deploy ứng dụng lên Google Play & App Store.

ĐỐI TƯỢNG HỌC VIÊN

  1. Lập trình viên Flutter đã có kiến thức cơ bản, muốn nâng cao kỹ năng tích hợp Backend & AI.
  2. Mobile Developer muốn phát triển ứng dụng Flutter có giao tiếp với API & Backend.
  3. Backend Developer muốn học cách tích hợp API vào ứng dụng Flutter.
  4. AI Enthusiast muốn tìm hiểu cách ứng dụng AI (Machine Learning, Chatbot, Face Recognition) vào mobile app.
  5. Sinh viên / Freelancer muốn xây dựng ứng dụng di động thực tế với API & AI.

Lưu ý: Khóa học này không phù hợp với người mới bắt đầu Flutter từ con số 0, vì yêu cầu nền tảng Flutter cơ bản trước khi học.


PHẦN 1: GIỚI THIỆU VÀ CHUẨN BỊ (BUỔI 1 - 3)

Buổi 1: Tổng quan khoá học & kiến trúc ứng dụng Flutter với Backend

  • Lộ trình khóa học.
  • Kiến trúc ứng dụng Flutter khi kết hợp Backend.
  • Các mô hình phổ biến: REST API, GraphQL, WebSocket, Firebase.
  • Tổng quan về cách Flutter gọi API.
  • Bài tập: Nghiên cứu và vẽ sơ đồ kiến trúc backend cho một ứng dụng thực tế.

Buổi 2: Thiết lập môi trường & Công cụ phát triển

  • Cài đặt Flutter SDK, Dart SDK.
  • Giới thiệu Postman, Insomnia để test API.
  • Tạo dự án Flutter mới.
  • Giới thiệu các thư viện cần thiết: http, dio, provider, flutter_bloc, firebase_core, google_mlkit,...
  • Bài tập: Tạo dự án Flutter mới với màn hình đơn giản và kiểm tra log khi chạy.

Buổi 3: Ôn tập Dart nâng cao & lập trình hướng đối tượng

  • Extension, Mixin, Generic.
  • Future, Stream, async-await.
  • Xây dựng lớp Model từ JSON.
  • Bài tập: Viết 1 class Dart sử dụng Generic và Future.

PHẦN 2: GIAO TIẾP VỚI BACKEND QUA API (BUỔI 4 - 10)

Buổi 4: Giao tiếp với RESTful API bằng thư viện http

  • Hiểu về REST API (GET, POST, PUT, DELETE).
  • Cấu trúc API response.
  • Gọi API từ Flutter với http.
  • Xử lý lỗi khi gọi API.
  • Bài tập: Gọi API công khai (ví dụ JSONPlaceholder) và hiển thị dữ liệu.

Buổi 5: Sử dụng Dio để gọi API nâng cao

  • So sánh dio và http.
  • Cấu hình Dio Interceptors.
  • Thực hiện Request có Header, Authorization.
  • Xử lý timeout, retry request.
  • Bài tập: Tích hợp Dio vào Flutter app, thêm Header cho request.

Buổi 6: Authentication với API (JWT, OAuth2)

  • Giới thiệu JWT.
  • Đăng nhập & đăng ký qua API.
  • Lưu trữ token bằng SharedPreferences hoặc Hive.
  • Refresh token tự động.
  • Bài tập: Xây dựng màn hình đăng nhập với API authentication.

Buổi 7: Tích hợp WebSocket & Socket.io

  • Hiểu về WebSocket và cách hoạt động.
  • Kết nối WebSocket trong Flutter.
  • Tạo ứng dụng chat đơn giản với WebSocket.
  • Bài tập: Xây dựng ứng dụng chat real-time đơn giản.

Buổi 8: Tích hợp GraphQL API

  • Sự khác biệt giữa REST API và GraphQL.
  • Cấu trúc query, mutation trong GraphQL.
  • Gọi API GraphQL trong Flutter.
  • Bài tập: Gọi API từ một GraphQL server có sẵn.

Buổi 9: Pagination và Infinite Scroll với API

  • Cách API hỗ trợ phân trang (offset, limit, cursor-based).
  • Load dữ liệu vô hạn với ListView.builder.
  • Lazy Loading với flutter_bloc.
  • Bài tập: Thực hiện phân trang danh sách sản phẩm.

Buổi 10: Bảo mật API & Xử lý lỗi nâng cao

  • Các kỹ thuật bảo mật API (HTTPS, SSL Pinning).
  • Xử lý lỗi API và hiển thị lỗi thân thiện với người dùng.
  • Bài tập: Cài đặt SSL Pinning trên Flutter app.

PHẦN 3: BACKEND REAL-TIME VỚI FIREBASE (BUỔI 11 - 15)

Buổi 11: Tích hợp Firebase vào Flutter

  • Cấu hình Firebase trên iOS & Android.
  • Quản lý trạng thái người dùng với Firebase Auth.
  • Đăng nhập bằng Google, Facebook.
  • Bài tập: Đăng nhập bằng Google hoặc Facebook.

Buổi 12: Firestore Database – CRUD dữ liệu

  • So sánh Firestore với Realtime Database.
  • Tạo, đọc, cập nhật, xóa dữ liệu trên Firestore.
  • Stream dữ liệu real-time từ Firestore.
  • Bài tập: Xây dựng CRUD với Firestore.

Buổi 13: Firebase Cloud Messaging (FCM) – Push Notification

  • Cấu hình FCM trên Android và iOS.
  • Gửi thông báo từ server đến app.
  • Xử lý thông báo nền & foreground.
  • Bài tập: Gửi thông báo đẩy từ Firebase.

Buổi 14: Firebase Storage – Upload & Download File

  • Tải lên ảnh, video từ thiết bị lên Firebase Storage.
  • Tạo link truy cập công khai và bảo mật file.
  • Bài tập: Upload ảnh lên Firebase Storage.

Buổi 15: Cloud Functions – Xử lý nghiệp vụ trên Backend Serverless

  • Viết Cloud Functions để xử lý logic backend.
  • Gửi thông báo đẩy từ Cloud Functions.
  • Bài tập: Viết một Cloud Function gửi thông báo khi có dữ liệu mới.

PHẦN 4: ỨNG DỤNG AI TRONG FLUTTER (BUỔI 16 - 21)

Buổi 16: Nhận diện văn bản với Google ML Kit OCR

  • Giới thiệu Google ML Kit.
  • Scan và nhận diện văn bản từ hình ảnh.
  • Bài tập: Xây dựng ứng dụng scan văn bản.

Buổi 17: Nhận diện khuôn mặt bằng ML Kit

  • Phát hiện khuôn mặt từ camera.
  • Lưu dữ liệu khuôn mặt & ứng dụng vào đăng nhập bằng FaceID.
  • Bài tập: Phát hiện khuôn mặt từ camera.

Buổi 18: Nhận diện giọng nói & Speech to Text

  • Tích hợp Google Speech Recognition.
  • Chuyển đổi giọng nói sang văn bản.
  • Bài tập: Xây dựng ứng dụng ghi âm và chuyển giọng nói thành văn bản.

Buổi 19: Chatbot AI với OpenAI GPT API

  • Tích hợp OpenAI API để tạo chatbot.
  • Gửi tin nhắn & nhận phản hồi từ AI.
  • Bài tập: Xây dựng chatbox AI với GPT API.

Buổi 20: Dự đoán & phân loại hình ảnh với TensorFlow Lite

  • Sử dụng mô hình pre-trained để phân loại hình ảnh.
  • Triển khai model AI trên ứng dụng Flutter.
  • Bài tập: Ứng dụng nhận diện chó/ mèo từ ảnh.

Buổi 21: AI Camera – Ứng dụng nhận diện vật thể

  • Tích hợp AI camera nhận diện vật thể trong thời gian thực.
  • Bài tập: Xây dựng ứng dụng nhận diện vật thể real-time.

PHẦN 5: DỰ ÁN THỰC TẾ VÀ TRIỂN KHAI (BUỔI 22 - 27)

Buổi 22: Xây dựng API Backend với Node.js + Express (Bonus)

  • Tạo REST API bằng Node.js.
  • Kết nối với MongoDB hoặc PostgreSQL.
  • Bài tập: Tạo một API Node.js cơ bản.

Buổi 23: Hoàn thiện tính năng chính của ứng dụng

  • Tích hợp API, Firebase, AI vào ứng dụng.
  • Hoàn thiện UI/UX.
  • Bài tập: Hoàn thiện ứng dụng tích hợp API, Firebase, AI.

Buổi 24: Quản lý trạng thái với Provider, Riverpod, BLoC

  • So sánh các phương pháp quản lý trạng thái.
  • Thực hành triển khai state management.
  • Bài tập: Chuyển đổi một màn hình Flutter từ setState sang Provider hoặc BloC.

Buổi 25: Testing & Debugging ứng dụng Flutter

  • Viết Unit Test, Widget Test.
  • Debugging & Performance Optimization.
  • Bài tập: Viết Unit Test cho API service.

Buổi 26: Build & Deploy ứng dụng lên Google Play & App Store

  • Cấu hình CI/CD với Codemagic hoặc GitHub Actions.
  • Build APK, IPA & publish lên Google Play, App Store.
  • Bài tập: Build APK/IPA và chạy thử trên thiết bị thật.

Buổi 27: Tổng kết khóa học & Định hướng phát triển

  • Review dự án cá nhân.
  • Định hướng nghề nghiệp: Flutter Developer, Mobile AI Engineer.
  • Chia sẻ kinh nghiệm & tài liệu học tập nâng cao.

THE END